<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>

  <body>
    <script>
      /***********************************
		1.请写出javascript的三种循环
		***********************************/
      for (a = 0; a < 5; a++) {
        console.log(a);
      }
      let b = 0;
      while (b < 3) {
        b++;
        console.log(b);
      }
      let c = 0;
      do {
        c++;
        console.log(c);
      } while (c < 5);
      /***********************************
        2.请写出break和continue作用和区别
        ***********************************/
      // break中断整个流程控制
      // continue 跳出当前符合条件的流程，继续下一个流程

      /***********************************
        3.循环输出1-100 里奇数
        **********************************

        for(d=1;d<100;d+=2){
        console.log(d);
        }

      /***********************************
        4.有一分数序列：2/1，3/2，5/3，8/5，13/8，21/13...求出这个数列的前20项之和。
        (程序分析：请抓住分子与分母的变化规律。)
        ***********************************/

      for (e = 2; e < 22; e++) {
        for (j = 1; j < 21; j++) {}
      }

      /***********************************
        5.有一座桥，当你身上所拥有的钱大于30000时，每过一次桥则需要支付3000元。当你身上的钱小于或等于30000时，每过一次桥则需要支付你身上10%的钱。已知有一个人身上有33000元，问此人能过这座桥多少次之后，身上的钱会少于100块?
        ***********************************/
      // for( ;n=3300)
      /***********************************
        6.小明去存1000钱，每天会产生1%的利息，求问，30天后，小明可以拿回多少钱
        ***********************************/
      let a = 1000;
      b = 0.01;
      c = 30;
      for (i = 0; i < c; i++) {
        a = a + a * b;
      }
      console.log(a);
      /***********************************
        7.小明题目升级版，小明拿着1000块在周一买入基金，一开户立给10块红利，
        逢周六日没有利息，平时利息为1%，请问30天后，小明可以拿回多少钱？
        ***********************************/
      let a = 1000;
      b = 0.01;
      c = 30 - 8;
      d = 10;
      let sum = a + d;
      for (let i = 0; i < 22; i++) {
        sum = sum + sum * b;
      }
      console.log(sum);

      /***********************************
        8.乘法口诀表:
        让学生输出4种方向的乘法口诀表
        ***********************************/
      document.write('<table border="1">');
      for (a = 9; a > 0; a--) {
        document.write('<tr>');
        for (b = 0; b < 9; b++) {
          document.write('<td>单元格' + b + '</td>');
        }
        document.write('</tr>');
      }
      document.write('</table>');

      /***********************************
        9.给一个不多于5位的正整数，要求：一、求它是几位数，二、逆序打印出各位数字。
        ***********************************/
      let five = prompt('输入一个对多于5位的数；');
      if (five < 100000 && five > 9999) {
        console.log('5位数');
      } else if (five < 10000 && five > 999) {
        console.log('4位数');
      } else if (five < 1000 && five > 99) {
        console.log('3位数');
      } else if (five < 100 && five > 9) {
        console.log('2位数');
      } else if (five < 10 && five > 0) {
        console.log('1位数');
      } else {
        console.log('没按规定输入数字！');
      }

      /***********************************
        10.求100个随机数之和，随机数要求为0—9的整数
        ***********************************/
      let unm = 0;
      for (i = 0; i < 100; i++) {
        unm = unm + Math.floor(Math.random() * 10);
      }
      console.log(unm);

      /***********************************
        11.通过键盘输入一个任意的正整数（建议这个数比3大），
        在网页中输出3至这个数之间所有能被3整除的数字。
        ***********************************/
      let num = prompt('输入任意一个正整数:num');
      if (num > 2) {
        for (i = 3; i <= num; i++) {
          if (0 == i % 3) {
            console.log(i);
          }
        }
      } else {
        console.log('没按要求输入数字');
      }

      /**********************************************
        12.黑白棋   奇数行 && 奇数列 || 偶数行 && 偶数列
        **********************************************/
    </script>
  </body>
</html>
